// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Tracing implementation internals
#include "verilated_vcd_c.h"
#include "Vtop__Syms.h"


void Vtop::traceChgTop0(void* userp, VerilatedVcd* tracep) {
    Vtop__Syms* __restrict vlSymsp = static_cast<Vtop__Syms*>(userp);
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Variables
    if (VL_UNLIKELY(!vlSymsp->__Vm_activity)) return;
    // Body
    {
        vlTOPp->traceChgSub0(userp, tracep);
    }
}

void Vtop::traceChgSub0(void* userp, VerilatedVcd* tracep) {
    Vtop__Syms* __restrict vlSymsp = static_cast<Vtop__Syms*>(userp);
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    vluint32_t* const oldp = tracep->oldp(vlSymsp->__Vm_baseCode + 1);
    if (false && oldp) {}  // Prevent unused
    // Variables
    VlWide<7>/*223:0*/ __Vtemp12;
    VlWide<7>/*223:0*/ __Vtemp13;
    // Body
    {
        if (VL_UNLIKELY(vlTOPp->__Vm_traceActivity[1U])) {
            tracep->chgBit(oldp+0,(vlTOPp->top__DOT__M_Core__DOT__io_out_Data_in_REG));
            tracep->chgBit(oldp+1,(vlTOPp->top__DOT__M_Core__DOT__the_ena_in));
            tracep->chgBit(oldp+2,(vlTOPp->top__DOT__M_Core__DOT__the_clk_in));
            tracep->chgBit(oldp+3,(vlTOPp->top__DOT__M_Core__DOT__io_out_Ena_out_REG));
            tracep->chgBit(oldp+4,(vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_out_REG));
            tracep->chgBit(oldp+5,(vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_3));
            tracep->chgBit(oldp+6,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__io_out_Ena_out_REG));
            tracep->chgBit(oldp+7,((1U & (~ (IData)(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk)))));
            tracep->chgBit(oldp+8,(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk));
            tracep->chgBit(oldp+9,(vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG));
            tracep->chgBit(oldp+10,(vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_1));
            tracep->chgBit(oldp+11,(vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_2));
            tracep->chgBit(oldp+12,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock));
            tracep->chgBit(oldp+13,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__the_ena_out));
        }
        if (VL_UNLIKELY(vlTOPp->__Vm_traceActivity[2U])) {
            __Vtemp12[0U] = 0xaaaaaaaaU;
            __Vtemp12[1U] = 0xaaaaaaaaU;
            __Vtemp12[2U] = 0xaaaaaaaaU;
            __Vtemp12[3U] = 0xaaaaaaaaU;
            __Vtemp12[4U] = 0xaaaaaaaaU;
            __Vtemp12[5U] = 0xaaaaaaaaU;
            __Vtemp12[6U] = 0x2aaaaU;
            VL_SHIFTR_WWI(210,210,8, __Vtemp13, __Vtemp12, (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in));
            tracep->chgBit(oldp+14,((1U & __Vtemp13[0U])));
            tracep->chgCData(oldp+15,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in),8);
            tracep->chgCData(oldp+16,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay),8);
            tracep->chgCData(oldp+17,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable),8);
            tracep->chgCData(oldp+18,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out),8);
            tracep->chgBit(oldp+19,((0xd2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in))));
            tracep->chgBit(oldp+20,((4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay))));
            tracep->chgBit(oldp+21,((2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable))));
            tracep->chgBit(oldp+22,((0x7eU == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out))));
        }
        if (VL_UNLIKELY(vlTOPp->__Vm_traceActivity[3U])) {
            tracep->chgBit(oldp+23,(((1U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                     & ((2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                        | (3U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))))));
            tracep->chgBit(oldp+24,(((1U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                     | ((2U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                        & ((3U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                           & (4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)))))));
            tracep->chgBit(oldp+25,(((1U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                     & ((2U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                        & (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_3)))));
            tracep->chgCData(oldp+26,(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg),3);
        }
        tracep->chgBit(oldp+27,(vlTOPp->clock));
        tracep->chgBit(oldp+28,(vlTOPp->reset));
        tracep->chgBit(oldp+29,(vlTOPp->io_out_Data_in));
        tracep->chgBit(oldp+30,(vlTOPp->io_out_Ena_in));
        tracep->chgBit(oldp+31,(vlTOPp->io_out_Clk_in));
        tracep->chgBit(oldp+32,(vlTOPp->io_out_Ena_out));
        tracep->chgBit(oldp+33,(vlTOPp->io_out_Clk_out));
        tracep->chgBit(oldp+34,(vlTOPp->io_out_Clk));
        tracep->chgBit(oldp+35,(vlTOPp->top__DOT__M_Clk_Divider_clk_div));
        tracep->chgCData(oldp+36,(vlTOPp->top__DOT__M_Clk_Divider__DOT__cnt),8);
    }
}

void Vtop::traceCleanup(void* userp, VerilatedVcd* /*unused*/) {
    Vtop__Syms* __restrict vlSymsp = static_cast<Vtop__Syms*>(userp);
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    {
        vlSymsp->__Vm_activity = false;
        vlTOPp->__Vm_traceActivity[0U] = 0U;
        vlTOPp->__Vm_traceActivity[1U] = 0U;
        vlTOPp->__Vm_traceActivity[2U] = 0U;
        vlTOPp->__Vm_traceActivity[3U] = 0U;
    }
}
